<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
   <div>229971301陈柏江</div>
    <div>第一题</div>
    <script>
        //(1)Number()
        console.log(Number(true),Number(null),+undefined);//Number(true)会被转化为1，null会被转化成0，
        //+undefined会返回NaN（因为不是一个数字）
    </script>
    <script>
        //(2)Boolean()
        console.log(Boolean('100'),Boolean(100),Boolean(null),!!undefined);//ture true false false
        //Boolean()是将给定的值转换为布尔型，第一个是字符串、第二个是整形，第三个为空值，第四为双重非操作符，所以结果为上
    </script>
    <script>
        //(3)parselnt()
        console.log(parseInt(123.6),parseInt(0b1011011),parseInt(0X2A),parseInt(0X2A,8));//123 91 42 34
        //parselnt()返回值只有十进制的整型和NaN,所以参数都变成了十进制的整数，
    </script>
    <script>
        //(4)parseFloat()同上，该函数的返回值为浮点型和NaN,会将参数变为浮点型，
        console.log(parseFloat('123.6'),parseFloat('100px'),parseFloat('010'));//123.6 100 10
    </script>
    <script>
         //(5)eval()eval 函数用于执行一个字符串表达式，并返回表达式的结果。使用 eval('87*99+2') 时，eval 函数会解析并执行字符串 '87*99+2' 中的数学表达式。
         console.log(eval('87*99+2'));//8615=8613+2；；
    </script>
    <script>
        //(6)isNaN()判断参数是否可以经过类似Number转换，false表示可以
        console.log(isNaN(null),isNaN('123'),isNaN('abc'),isNaN('a1b2c3'));//false false true true
    </script>
    <div>第二题</div>
    <script>
        var arr1=[];
    console.log(arr1,arr1.length);
    var arr2=[1,2,3];
    console.log(arr2[0],arr2.length);
    var arr3=new Array();
    console.log(arr3[1],arr3.length);
    let ar2=arr2.shift();
    console.log(arr2[0],arr2.length);
    </script>


    <div>第三题</div> 
    <div id="t"></div>
    <script>
        let t=document.getElementById("t");
        var d = new Date();
        h=d.getHours();
        f=d.getMinutes();
        if(f<10)
        {
            f="0"+f;
        }
        document.getElementById("t").innerHTML= + h +":" + f;
        console.log(h,f);
    </script>
    <div>第四题</div>
     <script>
        var reg1=/^\d{4}$/;
        console.log(reg1.test('1234'),
            reg1.test('1a34'),
            reg1.test('12345')
        )//true false false
    </script>
    <script>
        var reg2=new RegExp("^[sp]\\d{1,4}$","i");
        console.log(reg2.test('p123'),
            reg2.test('1234'),
            reg2.test('S10')
        )//true false true
    </script>
    <script>
        var reg3=new RegExp(/^1(33|53|89|80)\d{8}$/);
        console.log(reg3.test('15312345678'),//电信开头
            reg3.test('12312397678'),//非电信开头
            reg3.test('13312345679')//位数超过11
        )//true false false
    </script>
    <div>第五题</div>
    <script>
        var obj=new String('2147291341@qq.com');
        w=obj.split('@');
        console.log(w[0]);
    </script>
    <div>第六题</div>
    <script>
        var x=Math.round(1.4);
        console.log(x);
    </script>
    <div>第七题</div>
    <script>
        var x=1;
        function A(y){
            var x=2;
            function B(z){
                console.log(x+y+z);
            }
            return B;
        }
        var C=A(2);
        C(3);//2+2+3=7
    </script>
</body>
</html>